Relational Database Design and Modeling for Software Engineers
Rate this course
Ask Author
Contribute
Back to course home

0% completed

Vote For New Content
Introduction
Course Overview
Before the Advent of Database
Fundamental Concepts
What is a Database?
Database management systems (DBMS)
Overview of Relational Databases
Relational Vs. Non-Relational Databases
Introduction to Data Modeling
Levels of Data Modeling
Data Modeling Process
Best Practices in Data Modeling
Quiz
Introduction to ER Models
Entities, Attributes, and Relationships
Cardinality and Participation
Attributes of Relationship Types
Weak Entity Types
Creating an ER Diagram for Employee Management System
Quiz
Introduction to the Relational Model
Relations, Tuples, and Attributes
Keys in Relational Databases
Relational Integrity Constraints
Converting ER Diagrams to Relational Model
Best Practices for ER Diagrams to Relational Models
Quiz
Introduction to Functional Dependency
Types of Functional Dependencies
Inference Rules for Functional Dependencies
Closure of Attribute Sets
Quiz
Introduction to Normalization
First Normal Form (1NF)
Second Normal Form (2NF)
Third Normal Form (3NF)
Boyce-Codd Normal Form (BCNF)
Higher Normal Forms (4NF, 5NF)
Exercise 1
Solution to Exercise 1
Exercise 2
Solution to Exercise 2
Designing a Hospital Management System
Designing a Hotel Management System
Designing a Bank Management System
Designing an Instagram
Designing an E-commerce Platform
Designing an Online Food Delivery System
Relational Vs. Non-Relational Databases

Relational Databases (RDBMS)

Relational databases organize data into structured tables with rows and columns. Each table represents an entity, and tables can be linked through relationships defined by primary and foreign keys. Relational databases use Structured Query Language (SQL) for defining, querying, and managing data.

Key Features:

  • Predefined schema
  • ACID compliance (ensures data reliability)
  • Strong data integrity and consistency

Examples: MySQL, PostgreSQL, Oracle Database, Microsoft SQL Server.

Non-Relational Databases (NoSQL)

Non-relational databases store data in a flexible format that can handle structured, semi-structured, or unstructured data. They are designed for scalability and performance in handling large volumes of data and can use formats such as documents, key-value pairs, graphs, or wide columns.

Key Features:

  • Flexible schema
  • High scalability
  • Optimized for large-scale data and fast read/write operations

Examples: MongoDB, Cassandra, Redis, Neo4j.

Relational vs. Non-Relational Databases

FeatureRelational Databases (RDBMS)Non-Relational Databases (NoSQL)
SchemaFixed, predefined schemaFlexible schema
Data ModelTables with rows and columnsVarious (document, key-value, graph, columnar)
Query LanguageSQLNo fixed query language (varies by type)
ScalabilityVertical (adding more power to one server)Horizontal (adding more servers)
ACID ComplianceStrong ACID complianceTypically supports BASE properties
Data IntegrityHigh data integrity with strict relationshipsData integrity varies, often application-managed
Best Use CasesFinancial systems, CRM, ERPReal-time analytics, content management, IoT
Overview of Relational Databases
Introduction to Data Modeling
Mark as Completed

On this page

Relational Databases (RDBMS)

Non-Relational Databases (NoSQL)

Relational vs. Non-Relational Databases